home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / faq / comp / smalltal < prev    next >
Text File  |  1994-03-02  |  57KB  |  1,595 lines

  1. Path: bloom-beacon.mit.edu!hookup!swrinde!ihnp4.ucsd.edu!agate!con.Berkeley.EDU!latta
  2. From: latta@xcf.berkeley.edu (Craig R. Latta)
  3. Newsgroups: comp.lang.smalltalk,news.answers,comp.answers
  4. Subject: Smalltalk Frequently-Asked Questions (FAQ)
  5. Followup-To: poster
  6. Date: 3 Mar 1994 05:46:58 GMT
  7. Organization: University of California, Berkeley
  8. Lines: 1573
  9. Approved: news-answers-request@MIT.Edu
  10. Distribution: world
  11. Expires: 22 Mar 1994 05:46:45 GMT
  12. Message-ID: <smalltalk-faq_762673605@xcf.berkeley.edu>
  13. Reply-To: smalltalk@xcf.berkeley.edu
  14. NNTP-Posting-Host: con.berkeley.edu
  15. Summary: This posting contains a list of frequently-asked questions
  16.         (and their answers) about the Smalltalk programming
  17.         language and environment. It should be read by posters
  18.         to comp.lang.smalltalk.
  19. Originator: latta@con.Berkeley.EDU
  20. Xref: bloom-beacon.mit.edu comp.lang.smalltalk:6580 news.answers:15967 comp.answers:4007
  21.  
  22. Archive-name: smalltalk-faq
  23. Last-modified: 1994/2/21
  24. Version: 3.7
  25.  
  26.  
  27. ***
  28.  
  29.     This is a Smalltalk frequently-asked-questions (FAQ) document,
  30. distributed by Craig Latta <Craig.Latta@NetJam.ORG>. It is (ostensibly) posted
  31. fortnightly to the USENET newsgroups comp.lang.smalltalk and
  32. news.answers.
  33.     It is also available via FTP as
  34. anonymous@XCF.berkeley.EDU:misc/smalltalk/FAQ/SmalltalkFAQ. Finally, it can
  35. be obtained by mail by emailing Smalltalk-request@xcf with the subject
  36. line "request for FAQ". The machine XCF.Berkeley.EDU has IP address
  37. 128.32.138.1.
  38.  
  39.     Please send contributions, suggestions and comments to
  40. Smalltalk-request@XCF.Berkeley.EDU. They are greatly appreciated. I realize
  41. that information has a short half-life. 
  42.     Obviously (to me, anyway), it╣s silly to force a structured document like this one to exist as a flat text stream. In the medium term, I╣m in the midst of redoing this document as hypertext (suitable for serving via the World Wide Web), and implementing a Smalltalk interface for editing and reading it in the long term. Offers of assistance are welcome.
  43.  
  44.  
  45.         Thanks,
  46.  
  47. -C
  48.  
  49.  
  50. ***
  51.  
  52.     New items are marked with a '+'. Modified existing items are
  53. marked with a '*'. 
  54.  
  55.  
  56.     Contents:
  57.  
  58. 0.0)    [Meta-issues]    
  59. 0.1)        How can I browse ftp sites and their data without
  60.             using my own disk space (unless I want to keep
  61.             data), and locate files on ftp sites, given
  62.             pathname fragments?
  63. 0.2)*        Is comp.lang.smalltalk archived or available via
  64.             email?
  65.  
  66. 1.0)     [Archival]
  67. 1.1)         What free or low-cost Smalltalk implementations are
  68.             there? How can I get GNU Smalltalk?
  69. 1.2)        What Smalltalk archives are there?
  70.  
  71. 2.0)     [Projects]
  72. 2.1)        What is Smallmusic?
  73. 2.2)         What is CoolDraw?
  74. 2.3)+        What is SmallDraw?
  75. 2.4)+        What work is being done with neural nets in Smalltalk?
  76.  
  77. 3.0)     [References]
  78. 3.1)        Can someone recommend a good introduction to
  79.             Model-View-Controller concepts?
  80. 3.2)        Is there a Smalltalk bibliography?
  81. 3.3)        What are the "blue book", "purple book", etc?
  82. 3.4)        Who are some employers of Smalltalk programmers?
  83. 3.5)        What is the Smalltalk Report?
  84. 3.6)          Is there a GNU Smalltalk tutorial?
  85. 3.7)         What's a summary of multiple inheritance in Smalltalk?
  86. 3.8)        What's the status of the ANSI Smalltalk
  87.             standardization effort?
  88. 3.9)        Have there been any studies done on performance
  89.             differences between complete C++/Smalltalk
  90.             (specifically ObjectWorks\Smalltalk)
  91.             applications in terms of runtime and space
  92.             consumption? 
  93. 3.10)+        Where can I learn about the history of Smalltalk?
  94. 3.11)+        How can I get the Smalltalk Resource Guide?
  95.  
  96. 4.0)    [Programming issues]
  97. 4.1)        What are some "classic Smalltalk bugs", both in the
  98.             system and programmer domains?
  99. 4.2)+        How do I use Pool dictionaries?
  100. 4.3)+        When browsing sources, I see │t1▓, │t2▓, etc., instead of semantically 
  101.             relevant variable names. What╣s going on?
  102. 4.4)+        What happened to >>deepCopy in ParcPlace Smalltalk?
  103.  
  104. 5.0)    ["Vendor"-specific issues]
  105. 5.1)        How compatible is GNU Smalltalk with Smalltalk-80 (or
  106.             Smalltalk/V)?
  107. 5.2)        How do I contact the producers of various Smalltalk
  108.             implementations? 
  109. 5.3)+        How can I get information about HP distributed Smalltalk?
  110.  
  111. 6.0)    [Smalltalk implementation issues]
  112. 6.1)        Is Smalltalk interpreted or compiled?
  113.  
  114. ---
  115.  
  116. 0.0) [Meta-issues]    
  117.  
  118. ---
  119.  
  120. 0.1)        How can I browse ftp sites and their data without
  121.             using my own disk space (unless I want to keep
  122.             data), and locate files on ftp sites, given
  123.             pathname fragments?
  124.  
  125. Answer:
  126.  
  127.     This question might seem tangential at first (and I suppose it
  128. is). But it is vitally important, as resources such as papers,
  129. documentation, code and software tools become more numerous and
  130. distributed.
  131.  
  132.         There is a set of Emacs-Lisp ("elisp") code, called
  133. "ange-ftp.el", which makes 'ftp' use transparent within GNU Emacs (GNU
  134. Emacs is available via anonymous ftp from prep.ai.mit.edu). This
  135. package attempts to make accessing files and directories using FTP
  136. from within GNU Emacs as simple and transparent as possible.  A subset
  137. of the common file-handling routines are extended to interact with
  138. FTP. Using these routines, one is able to access remote files and one
  139. would any other local file, without having to write it locally to
  140. disk. The result is an immense virtual global filesystem.
  141.         The routines are available via anonymous ftp (naturally!) as
  142. tut.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/as-is/ange-ftp.tar.Z,
  143. (incidentally, if you already had "ange-ftp.el", you could paste the
  144. above line in response to Emacs' 'copy-file', stick "/anonyous@" in
  145. front of it, and copy the file.) My current version is dated 22
  146. October 1991.
  147.         Another useful bit of elisp is "saveconf.el". It saves the
  148. Emacs buffer list and window configuration between editing sessions.
  149. So, one can have several buffers, with several files open (as I
  150. usually do), quit and restart Emacs, and have the state preserved,
  151. cursor locations and windows included. Happily, it works well with
  152. "ange-ftp.el", so that even remote files are restored (after possibly
  153. having to prompt for passwords). "context.el" is also available via
  154. anonymous ftp from cis.ohio-state.edu, as
  155. pub/gnu/emacs/elisp-archive/saveconf.el.Z. Also look for
  156. "tree-dired.el" which provides for hierarchical directory editing.
  157.         Incidentally, it was very easy to produce references for the
  158. above tools, thanks to another tool called "archie", developed at
  159. McGill University. Dubbed a "resource discovery tool" by its authors,
  160. it comes in very handy when one knows what tools are needed but not
  161. their availability. Archie consists of a server for this information
  162. (basically from a database of directory trees from "all known"
  163. anonymous ftp sites, updated once per month), and a client, which may
  164. be run via 'telnet' from the server machine itself (frowned upon...),
  165. or from a standalone client available from that machine (...highly
  166. encouraged, for the considerable host load win). Some clients even
  167. perform ftp tasks based on user response to search results. There are
  168. clients available for dumb and X terminals as well as for (of course)
  169. Emacs. Poke around archie.mcgill.ca for a client and documentation.
  170.  
  171.     Adapting these tools (or at least new interfaces to them) for
  172. Smalltalk would make for several great projects. I'm working on it in my spare
  173. time. I'd love to hear from any interested people.
  174.  
  175.  
  176. -Craig
  177.  
  178.  
  179. ---
  180.  
  181. 0.2)         Is comp.lang.smalltalk archived or available via
  182.             email?
  183.  
  184. Answer:
  185.  
  186.     Yes:
  187.  
  188.         Info-CLS (formerly Smalk) is a mailing list which is
  189. bidirectionally gatewayed with comp.lang.smalltalk (via 
  190. NETNEWS@AUVM.BitNet). Every posting to c.l.s (with distribution 
  191. options USA or world) gets distributed to all subscribers of 
  192. Info-CLS, and vice versa every mailing to Info-CLS gets posted
  193. to c.l.s.
  194.  
  195.         There is a mailarchive associated with this list, i.e.
  196. every posting/mailing gets archived and can be keyword searched by
  197. e-mail.  In order to search the archive, which started somewhere 
  198. around September '92, send a mail message to
  199.  
  200.    LISTSERV@vm.gmd.de
  201.  
  202. containing something like:
  203. -----------------------------------cut here----
  204. //
  205. Database Search DD=Rules
  206. //Rules DD   *
  207. Search type & checking in INFO-CLS
  208. index
  209. print
  210. /*
  211. -----------------------------------and here----
  212. as the body part of the message. On details for more finegrained
  213. retrievals, read the doc which is obtainable by sending
  214.     GET LISTDB MEMO
  215. as the body part of a mail message to the listserv.
  216.  
  217. In order to get subscribed, send a mail message to the listserv,
  218. containing
  219.     SUBSCRIBE Info-CLS Your I. Name
  220. or drop me a note.
  221.  
  222. I want to add that I'm in the middle of preparing about another   
  223. years postings for upload (91-92), and am interested in further   
  224. private loggings for upload.                                      
  225. The archive is also available via gopher, but unfortunately only  
  226. as monthly chunks - which taaakes aaa looong tiiime to retrieve   
  227. them.  I haven't succeeded yet in convincing the staff at vm.gmd.de 
  228. to install software which can make single postings available by   
  229. subject.                                                          
  230. On my wishlist is a system written in (GNU) Smalltalk, accessible 
  231. via TCP/IP, representing some kind of 'remote dictionary'.  But   
  232. that's far in the clouds.                                         
  233.  
  234. -j|g (Joerg Rade jrade1@gwdg.de)
  235.  
  236. ---
  237.  
  238. 1.0)     [Archival]
  239.  
  240. ---
  241.  
  242. 1.1)        What free or low-cost Smalltalk implementations are
  243.             there? How can I get GNU Smalltalk?
  244.  
  245. Answer:
  246.  
  247.     GNU Smalltalk is free. The most current location, to my
  248. knowledge, is anonymous@prep.ai.mit.edu:pub/gnu/smalltalk-1.1.1.tar.Z.
  249. Please direct problems to the author, Steven Byrne, at
  250. sbb@eng.sun.com.
  251.  
  252.     Little Smalltalk, by Timothy Budd, is available as a book and
  253. sources, at bookstores. It is also available as
  254. anonymous@cs.dal.ca:pub/comp.archives/little-smalltalk.
  255.  
  256. ---
  257.  
  258. 1.2)        What Smalltalk archives are there?
  259.  
  260. Answer:
  261.  
  262.     There are many. Most of them simply archive GNU smalltalk, but
  263. there are also a few large archives containing many interesting and
  264. varied sources. All of the sites may be retrieved by invoking 'archie
  265. smalltalk' (see above reference to 'archie'). 
  266.     For convenience, descriptions of a few of the archives follow.
  267. If you have a site/announcement you'd like included, please let me
  268. know.
  269.  
  270.  
  271. **
  272.  
  273. Location: anonymous@xcf.berkeley.edu:misc/smalltalk
  274. Summary:
  275.     
  276.     Smalltalk FAQ, smallmusic discussion archive.
  277.  
  278. **
  279.  
  280. Host: mushroom.cs.man.ac.uk
  281. Summary: The Manchester Smalltalk archive. Information about it is
  282.     posted regularly to comp.lang.smalltalk.
  283.  
  284. **
  285.  
  286. Document: anonymous@st.cs.uiuc.edu:pub/Index
  287. Summary: Information about the UIUC Smalltalk archive (which has local
  288.     files and a mirror of the Manchester archive).
  289.  
  290. **
  291.  
  292. Document: anonymous@ccrma-ftp.stanford.edu:pub/st80/README
  293. Summary: Information about various Smalltalk-related offerings,
  294.     including the Musical Object Development Environment (MODE).
  295.  
  296.  
  297. ---
  298.  
  299. 2.0)     [Projects]
  300.  
  301. ---
  302.  
  303. 2.1)        What is Smallmusic?
  304.  
  305. Answer:
  306.  
  307.     A work group has formed to discuss and develop an
  308. object-oriented software system for music. The current environment is
  309. Smalltalk 80. The email address for the group is
  310. smallmusic@xcf.Berkeley.EDU.  If you are interested in joining the
  311. discussion, email smallmusic-request@xcf.Berkeley.EDU, with the
  312. subject line "add me".
  313.  
  314.     The abstract and outline to a recent version of our working
  315. paper follows. The document is available via ftp as
  316. anonymous@ccrma-ftp.stanford.edu:pub/st80/OOMR6.t.
  317.  
  318.  
  319.     Thanks,
  320.  
  321.     Craig Latta
  322.     latta@xcf.Berkeley.EDU
  323.  
  324. ***
  325.  
  326. Abstract to the working document
  327.  
  328.     This document describes an object-oriented description
  329. language for musical parameters, events and structures known as the
  330. Smallmusic Object Kernel (SmOKe) .  In object-oriented software terms,
  331. the representation is described in terms of software class hierarchies
  332. of objects that share state and behavior and implement the description
  333. language as their protocol. 
  334.     The authors believe this representation, and its proposed
  335. linear ASCII description in Smalltalk-80 syntax, to be well-suited as
  336. a basis for: (1) concrete description languages in other languages,
  337. (2) specially-designed binary storage and interchange formats, and (3)
  338. use within and between interactive multi-media, hypermedia
  339. applications in several application domains.
  340.  
  341.     There is an article about an environment implementing SmOKe,
  342. called the Musical Object Development Environment (MODE), in the
  343. Computer Music Journal, volume 16 number 3. There's an "outrageously
  344. sexy" screen shot of the MODE on the cover.
  345.  
  346. ---
  347.  
  348. 2.2)         What is CoolDraw?
  349.  
  350. Answer:
  351.  
  352. Newsgroups: comp.lang.smalltalk
  353. From: bnfb@csr.uucp (Bjorn Freeman-Benson)
  354. Subject: CoolDraw - HotDraw with Constraints (or ThingLab: The Next Generation)
  355. Organization: University of Victoria, Victoria, BC, Canada
  356. Date: Tue, 6 Apr 93 05:15:29 GMT
  357.  
  358. A while back I saw a query in this group about updated version of ThingLab.
  359. Well, I'm happy to announce that although the name has changed, the
  360. philosophy is the same, and CoolDraw is now available via anonymous FTP.
  361. Here is the READ.ME:
  362.  
  363. CoolDraw Release 3 Documentation                         5-Apr-93
  364.  
  365. I. What is CoolDraw?
  366.  
  367. CoolDraw is a constraint-based object-oriented drawing framework.  CoolDraw
  368. is similar to other MacDraw-like packages with one major exception:
  369. everything in CoolDraw is done with constraints.  The user interface is
  370. done with constraints.  Constraints can be added between figures.  Even the
  371. constraint debugger (a future feature) will be done with constraints.  The
  372. total integration of constraints makes it "pretty darn cool".  The system
  373. is written in ParcPlace Smalltalk-80 release 4.1.
  374.  
  375. CoolDraw is similar to other systems such as IntelliDraw, Chimera, and
  376. Briar.  Also note that CoolDraw is a technology demonstration and research
  377. tool -- not a fully debugged product.  Occasionally it requires some loving
  378. care.  And, quite naturally, it has some unimplemented features.
  379.  
  380. II. How do I use it?
  381.  
  382. Open a CoolDrawingEditor using the "open" message.  On the left is a tool
  383. palette.  The top tools are the usual drawing tools: selection, move to
  384. front, move to back, erase, etc.  The middle tools are figure creation
  385. tools: line, rectangle, ellipse, and so on.  The bottom four tools are the
  386. constraint creation and deletion tools: three for creation (one variable,
  387. two variable, and three variable constraints) and one for deletion.
  388.  
  389. While you automatically use constraints by just creating figures and moving
  390. them around on the screen (because the entire system uses constraints
  391. internally), if you want to create explicit constraints, you have to use
  392. one of the tools.  The cursor of the tool changes to indicate how many
  393. figures have been selected and when enough are selected a dialog box
  394. appears with a standard selection of constraints.  If you want some other
  395. constraint, then press the "Custom" button and a second dialog box offering
  396. a complete selection of constraints will appear.
  397.  
  398. When the constraint deletion tool is clicked on a figure, it offers a list
  399. of all the explicit constraints attached to that figure.  Any number can be
  400. selected and deleted at once.
  401.  
  402. III. How do I get it?
  403.  
  404. Anonymous FTP from ursamajor.uvic.ca in ~ftp/ursa/constraints/CoolDraw
  405. There are two options.  Get the image:
  406.     cooldraw.image.tar.Z
  407. or get the source code:
  408.     cooldraw.source.tar.Z
  409.  
  410. IV. What are the bugs?
  411.  
  412. Numerous.  The major flaws are that the constraint system is not currently
  413. powerful enough to solve cycles or simultaneous equations, and that there
  414. is not a large selection of figures.  Minor ones include that the three
  415. constraint tool is not implemented.
  416.  
  417. The most noticable un-bug is that the constraints do not always do what you
  418. expect.  This is a well-known problem is constraint research and has no
  419. known solution short of a mind-reading computer.  The constraint
  420. hierarchies that CoolDraw uses can help, and future versions will have more
  421. default weak constraints to create "expected" behavior.
  422.  
  423. V. What are the future plans?
  424.  
  425. We intend to continue work on three fronts: (1) fix the details (make more
  426. figures available; fix the dialog boxes; provide a wider assortment of
  427. built-in constraints; implement the three constraint tool; etc.); (2)
  428. improve the constraint solver to deal with more complex constraints yet
  429. retain its efficiency; (3) add other cool things such as constraint
  430. debugging tools, animation, etc.
  431.  
  432. VI. What else should I know?
  433.  
  434. Without explicitly inspecting the drawing, there is no access to the
  435. internal consistency constraints of the figures.
  436.  
  437. VIII. Credits and Copyright
  438.  
  439. See the startup screen.
  440.  
  441. The CoolDraw code is copyright 1993 by Bjorn N. Freeman-Benson, and its
  442. commercial use is restricted.  For information about the HotDraw or SkyBlue
  443. code, contact the respective authors: Ralph Johnson and Michael Sannella.
  444.  
  445. Naturally, we would be happy to hear from anyone who uses, plays around
  446. with, or just looks at the system.  
  447.  
  448. Regards,
  449. Bjorn N. Freeman-Benson
  450.  
  451. ---
  452.  
  453. 2.3)        What is SmallDraw?
  454.  
  455. From: benson@siemens.siemens.com (Dan Benson)
  456. Subject: SmallDraw for VisualWorks
  457. Organization: Siemens Corporate Research, Inc
  458. Date: Tue, 29 Jun 1993 18:37:28 GMT
  459.  
  460. I recently submitted a version of SmallDraw that now runs under
  461. VisualWorks to the Illinois archive. It's availabe via anonymous
  462. ftp at: st.cs.uiuc.edu as /pub/st80_vw/SmallDraw.VW
  463.  
  464. SmallDraw is a very simple structured graphics editor that was
  465. originally written to run under Release 4.0. I wrote a series
  466. of three articles for The Smalltalk Report last year in which
  467. I used the SmallDraw application to illustrate Release 4 graphics
  468. and MVC construction. The modifications to SmallDraw to make
  469. it run under VisualWorks were made by David Arctur 
  470. (arctur@djembe.geoplan.ufl.edu). Thank you David!
  471.  
  472.  
  473. Dan Benson                 Siemens Corporate Research, Inc.
  474. (609) 734-3668             755 College Road East
  475. dbenson@scr.siemens.com    Princeton, NJ  08540
  476.  
  477. ---
  478.  
  479. 2.4)+        What work is being done with neural nets in Smalltalk?
  480.  
  481. From: rvl@tomcat1.tomcat.de ( GF)
  482. Newsgroups: comp.ai.neural-nets,comp.lang.smalltalk
  483. Date: 3 Nov 93 10:25:15 GMT
  484. Organization: TOMCAT, Germering, Germany
  485.  
  486. There exists one small implementation of
  487. "The simple Neural Network for taught Samples Distinguishing", which has been 
  488. realised at Technical University in Prague (CVUT) supported by Tomcat.
  489. This first version is implemented in ST/V, and will be ported to ST/X in 
  490. the next future.
  491.  
  492. For more information the best way is to contact us (with your address),
  493. we will send you some papers...,
  494. or to contact the CVUT directly via eMail:
  495. muller@sclab.felk.cvut.cz Dr. Mueller
  496. kolar@cslab.felk.cvut.cz Dr. Kolar
  497. (both are Docs at the university and co-owners of FELTECH ltd. 
  498. specialised in OO-Technology)
  499.  
  500. Richard.
  501.  
  502. Tomcat computer GmbH
  503. Richard v. Lavante
  504. Fruehlingstr. 4
  505. D-82110 Germering bei Muenchen
  506. Germany
  507. eMail rvl@tomcat.de
  508. Tel. +49-89-84 99 92
  509. Fax. +49-89-84 95 44
  510.  
  511. ---
  512.  
  513. 3.0)     [References]
  514.  
  515. ---
  516.  
  517. 3.1)        Can someone recommend a good introduction to
  518.             Model-View-Controller concepts?
  519.  
  520. Answer:
  521.  
  522. From: ege@blitz.fiu.edu (Dr. Raimund K. Ege)
  523. Newsgroups: comp.lang.smalltalk
  524. Subject: Re: MVC -- good introductions?
  525. Date: 8 Mar 92 18:26:40 GMT
  526. Organization: Florida International Univ.
  527.  
  528. Look at Chapter 10 in the following book that just came out:
  529.  
  530. Programming in an Object-Oriented Environment,
  531. by Raimund K. Ege
  532.  
  533. Academic Press, Inc., San Diego, CA, 1992, hardcover,
  534. ISBN 0-12-232930-9
  535.  
  536. To order call 1-800-321-5068.
  537.  
  538. (also: Academic Press Limited, London, United Kingdom)
  539.  
  540. It presents a complete and thorough introduction to all object-oriented
  541. concepts. It contains a large
  542. example/case study, and a comparison of major OO programming languages. 
  543.  
  544. In addition, the book extends the object-oriented view
  545. to all elements of the programming environment: data structures
  546. and algorithms, programming tools, user interfaces, data bases and
  547. software design. 
  548.  
  549. Chapter 10 is on user interfaces: it describes and illustrates
  550. the Smalltalk MVC paradigm (also: InterViews)
  551.  
  552. -- 
  553. Raimund K. Ege                             School of Computer Science
  554.                                              Florida Int'l University
  555. ege@scs.fiu.edu           (305) 348-3381              University Park
  556. ege@servax.bitnet     FAX (305) 348-3549              Miami, FL 33199
  557.  
  558. **
  559.  
  560. From: asmundvn@dcs.glasgow.ac.uk (Nils Erik Asmundvaag)
  561. Newsgroups: comp.lang.smalltalk
  562. Subject: Re: MVC -- good introductions?
  563. Date: 11 Mar 92 10:56:38 GMT
  564. Organization: Glasgow University Computing Science Dept.
  565.  
  566. The book
  567.  
  568.     Smalltalk-80: A Practical Introduction
  569.     (ISBN 0-273-03105-8)
  570.  
  571.     by Philip D. Gray & Ramzan Mohamed, 1990
  572.     and published by Pitman (at least in the UK)
  573.  
  574. contains two chapters on interactive applications and the MVC.
  575.  
  576. I found it very helpful when first learning about the MVC.
  577.  
  578. Nils E. Asmundvaag
  579.  
  580. -- 
  581. -------------------------------------------------------------------------------
  582. Nils Erik Asmundvaag                         
  583. University of Glasgow, Scotland
  584. asmundvn@dcs.glasgow.ac.uk      asmundvn@uk.ac.glasgow.dcs
  585.  
  586.  
  587. **
  588.  
  589. From: bruce@utafll.uta.edu (Bruce Samuelson)
  590. Newsgroups: comp.lang.smalltalk
  591. Subject: Re: how are st80 views and controllers used?
  592. Date: 12 Mar 92 14:12:48 GMT
  593. Organization: UTexas at Arlington, Linguistics
  594.  
  595. There are two papers on MVC that provide an introductory overview of
  596. the pre-version 4.0 ST80 scheme.  Much of what's in them also applies
  597. to version 4.0.  I understand that one of PPS's priorities in the
  598. forthcoming version 4.1 will be improved documentation.  We'll see how
  599. well they explain the new windowing scheme launched in version 4.0.
  600. It would certainly be helpful to get an overview of what's going on
  601. before plunging into the source code of the myriad new classes.
  602.  
  603. (1) A Cookbook for using the Model-View-Controller User Interface
  604. Paradigm in Smalltalk-80 by Glenn E. Krasner and Stephen T. Pope,
  605. Journal of Object-Oriented Programming, volume 1 number 3, pp. 26-49,
  606. 1988
  607.  
  608. (2) Applications Programming in Smalltalk-80: How to Use
  609. Model-View-Controller (MVC) by Steve Burbeck, Softsmarts, Inc.,
  610. copyright 1987.
  611.  
  612. The second paper is probably no longer available.  I think Softsmarts
  613. is the company that used to sell a version of Smalltalk for 80286
  614. machines but went out of business some years ago.  The phone number on
  615. the paper is listed as 415-327-8100 (Palo Alto, California).  You may
  616. try asking ParcPlace (or, less likely, Digitalk) if they have copies
  617. of Burbeck's paper.
  618.  
  619. --
  620. **********************************************************
  621. * Bruce Samuelson    Department of Linguistics     *
  622. * bruce@ling.uta.edu    University of Texas at Arlington *
  623. **********************************************************
  624.  
  625.  
  626. ---
  627.  
  628. 3.2)        Is there a Smalltalk bibliography?
  629.  
  630. Answer:
  631.  
  632.     There are many... here is one:
  633.  
  634. From: schultz@grebyn.com (Ronald Schultz)
  635. Newsgroups: comp.lang.smalltalk
  636. Subject: Smalltalk Relevant Texts
  637. Date: 10 Jan 92 16:08:05 GMT
  638. Organization: Grebyn Timesharing
  639.  
  640.  
  641. A list of Smalltalk-relevant texts.  Retrieved from the Digitalk
  642. forum on Compuserve.  If you know of any additional texts, please
  643. let me know.  Thanx.
  644.  
  645.  
  646. ==========================================================================
  647. Ron Schultz                                  
  648. Berard Software Engineering, Inc.            
  649. Columbus Ohio Office                           Headquarters
  650. 5634 Claire Court                              301 Lakeforest Drive
  651. Dublin, Ohio 43017                             Gaithersburg, Md. 20877
  652. Phone  (614) 798-0295                          (301) 417-9885  
  653. FAX    (614) 798-0296                          (301) 417-0021
  654. =========================================================================
  655.  
  656. Smalltalk 80 The Language, Adele Goldberg & David Robson
  657.         Addison-Wesley 1989             ISBN 0-201-13688-0
  658.  
  659. Smalltalk 80 The Interactive Programming Environment, Adele Goldberg
  660.         Addison Wesley 1984             ISBN 0-201-11372-4
  661.  
  662. Smalltalk 80 Bits of History, Words of Advice , Glenn Krasner
  663.         Addison Wesley 1984             ISBN 0-201-11669-3
  664.  
  665. Inside Smalltalk Volume I, Wilf Lalonde & John Pugh
  666.         Prentice Hall 1991              ISBN 0-13-468414-1
  667.  
  668. Inside Smalltalk Volume II, Wilf Lalonde & John Pugh
  669.         Prentice Hall 1991              ISBN 0-13-465964-3
  670.  
  671. Object-Oriented Graphics, P. Wisskirchen
  672.     Springer-Verlag 1990        ISBN 3-540-52859-8
  673.  
  674. Practical Smalltalk: Using Smalltalk/V, Dan Shafer and Dean A. Ritz.
  675.         Springer-Verlag                 ISBN 0-387-97394-X
  676.  
  677. Rapid Prototyping for Object Oriented Systems, Mark Mullen
  678.         Addison Wesley 1990             ISBN 0-201-55024-5
  679.  
  680. Object-Oriented Design, Peter Coad and Ed Yourdon
  681.     Yourdon Press 1991        ISBN 0-13-630070-7
  682.  
  683. Object Oriented Programming for Artificial Intelligence, Ernest Tello
  684.         Addison Wesley 1989             ISBN 0-201-09228-x
  685.  
  686. The Well Tempered Object, Stephen Travis Pope
  687.         MIT Press 1991                  ISBN 0-262-16126-5
  688.  
  689. RefTalk/Vwin, David Carl O'Neal
  690.         NuVista Press 1991              ISBN pending
  691.  
  692. Human-Computer Interface Design Guidelines, C. Marlin Brown
  693.         Ablex Publishing 1989           ISBN 0-89391-332-4
  694.  
  695. Designing Object-Oriented Software,
  696.                 Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener
  697.         Prentice-Hall 1990              ISBN 0-13-629825-7
  698.  
  699. Object Oriented Programming with Smalltalk/V, Dusko Savic
  700.         Ellis Horwood 1990              ISBN 0-13-040692-9
  701.  
  702. An Introduction to Object Oriented Programming & Smalltalk
  703.         Lewis Pinson & Richard Wiener
  704.         Addison Wesley 1988             ISBN 0-201-19127-x
  705.  
  706. SAA Common User Access Advanced Interface Design Guide
  707.         IBM 1989                        IBM Document # SC26-4582-0
  708.  
  709. IBM Red Books----(available from your IBM representative
  710.                   contact your local office of IBM and request
  711.                   the placing of an IBM Red Book Order.  If you
  712.                   are an IBM customer, the books are free.  If you
  713.                   are not an IBM customer, the books may have a nominal
  714.                   fee.)----
  715.  
  716. A Practical Introduction to Object Oriented Programming
  717.         IBM 1990                        IBM Document # GG24-3641
  718.  
  719. Object Oriented Design - A preliminary Approach
  720.         IBM 1990                        IBM Document # GG24-3647
  721.  
  722. Developing a CUA Workplace Application
  723.         IBM 1990                        IBM Document # GG24-3580-00
  724.  
  725. Managing the Development of Object Oriented Applications
  726.         IBM 1990                        IBM Document # GG24-3581-00
  727.  
  728. Object Oriented Analysis of the ITSO Common Scenario
  729.         IBM 1990                        IBM Document # GG24-3566
  730.  
  731. CUA Evaluation
  732.         IBM 1990                        IBM Document # GG24-3456
  733.  
  734. SAA CUA '91 Guide
  735.         IBM 1991                        IBM Document # SC34-4289
  736.  
  737. SAA CUA '91 Reference
  738.         IBM 1991                        IBM Document # SC34-4290
  739.  
  740. SAA - A Guide for Evaluating Applications
  741.         IBM 1991                        IBM Document # G320-9803
  742.  
  743.  
  744. ---
  745.  
  746. 3.3)         What are the "blue book", "purple book", etc?
  747.  
  748. Answer:
  749.  
  750. Date: Wed, 11 Nov 92 12:52:39 PST
  751. From: khaw@parcplace.com (Mike Khaw)
  752.  
  753.  
  754. blue
  755.         Goldberg, Adele, and David Robson, _Smalltalk-80: The Language 
  756.         and Its Implementation_, Addison-Wesley, 1983. ISBN
  757.     0-201-11371-6. *Out of print* 
  758.          
  759. orange   
  760.         Goldberg, Adele, _Smalltalk-80: the Interactive Programming 
  761.         Environment_, Addison-Wesley, 1984. ISBN 0-201-11372-4. 
  762.          
  763. green    
  764.         Krasner, Glenn, ed., _Smalltalk-80: Bits of History, Words of 
  765.         Advice_, Addison-Wesley, 1983, ISBN 0-201-11669-3 
  766.          
  767. purple   
  768.         Goldberg, Adele, and David Robson, _Smalltalk-80: The Language_,
  769.         Addison-Wesley, 1989, ISBN 0-201-13688-0 
  770.          
  771. The books are actually cream or tan. The color referred to is the color 
  772. used as the background of the illustration on the front cover (as well 
  773. as for the Addison-Wesley logo on the spine). 
  774.  
  775. The purple book is an update/revision of the blue book, with the 
  776. section on the abstract bytecode machine omitted (because it was out 
  777. of date, according to Adele). 
  778. ----------
  779.  
  780. Mike
  781.  
  782.  
  783. ---
  784.  
  785. 3.4)         Who are some employers of Smalltalk programmers?
  786.  
  787. Answer:
  788.  
  789. From: johnson@m.cs.uiuc.edu (Ralph Johnson)
  790. Newsgroups: comp.lang.smalltalk
  791. Subject: Smalltalk employers file
  792. Date: 18 Sep 92 16:32:43 GMT
  793. Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL
  794.  
  795.     I've noticed a rash of job offers here (I approve of them) and
  796. decided that I should distribute my list of companies hiring
  797. Smalltalkers.  I have collected this over the years and give it to my
  798. students.  However, the size of the list is significantly greater than
  799. the number of my students, so I decided to make it public. I would be
  800. happy to add entries, remove entries, or make other changes to it.  If
  801. you are an employer then you might want to take a look at it to see
  802. whether you like what I say about you, and let me know if you don't.
  803. I'll change it, though I like *short* entries and have shortened
  804. almost everything in here.
  805.  
  806.     The file is in the Smalltalk archive in
  807. /st-docs/smalltalk-jobs.  You can ftp it from st.cs.uiuc.edu or you
  808. can use the e-mail archive server (see the recent FAQ).  Europeans
  809. note that this will automatically show up in the Manchester archive in
  810. a day or so.
  811.  
  812. -Ralph Johnson 
  813.  
  814. ---
  815.  
  816. 3.5)        What is the Smalltalk Report?
  817.  
  818. From: mst@vexpert.dbai.tuwien.ac.at (Markus Stumptner)
  819. Newsgroups: comp.lang.smalltalk
  820. Subject: Opinions on Smalltalk Report (Summary)
  821. Date: 12 Feb 93 11:34:32 GMT
  822. Organization: DB and ES Subdivision, TU Vienna
  823.  
  824. Ok, here are the comments I received about the Smalltalk Report.
  825. While the sample base is quite small, the response seems
  826. overwhelmingly favorable.  Thanks to all who responded.
  827.  
  828.     Markus
  829.  
  830. ---------------------------------------------------------------------
  831. I have subscribed since the first issue and I find it to be an excellent
  832. combination of theoretical and practical articles. John Pugh (of LaLonde
  833. and Pugh) is the editor.
  834.  
  835. On the other hand, I will warn you to expect subscription headaches with
  836. SIGS Publications. They are probably the worst I've ever dealt with and
  837. our technical librarian agrees. They are barely capable of processing a 
  838. renewal let alone a new subscription or problem.
  839. ---------------------------------------------------------------------
  840. We subscribe, last issue was about 20 pages, 2 articles, 3 columns.
  841. I would call it a must read publication.
  842. ---------------------------------------------------------------------
  843. I think its pretty good. (But then I should mention, I write for it!) It tends
  844. toward intermediate, with lots of practical tips and examples.
  845. ---------------------------------------------------------------------
  846. (This was not an answer to my question, but I include it for completeness.)
  847. It is a journal published 9 times per year. Cost in US is $69. Editor
  848. with whom I deal is Paul White (white@scs.carleton.ca). The Smalltalk
  849. Report, Subscribers Services, Dept. SML, PO Box 3000, Denville, NJ
  850. 07834-9821.
  851. ---------------------------------------------------------------------
  852.  
  853.  
  854. -- 
  855. Markus Stumptner                                mst@vexpert.dbai.tuwien.ac.at
  856. University of Technology Vienna                 vexpert!mst@relay.eu.net
  857. Paniglg. 16, A-1040 Vienna, Austria             ...mcsun!vexpert!mst
  858.  
  859.  
  860. Newsgroups: comp.lang.smalltalk
  861. From: knight@mrco.carleton.ca (Alan Knight)
  862. Subject: Re: Smalltalk Report
  863. Organization: Carleton University
  864. Date: Mon, 15 Feb 1993 22:30:55 GMT
  865.  
  866. The Smalltalk report
  867. Subscriber Services Dept SML
  868. PO Box 3000
  869. Denville NJ USA
  870. 07834-9821
  871.  
  872. FAX 212 274 0646
  873.  
  874. ISSN 1056-7976
  875.  
  876. US$69/year in e US
  877. US$94/year outside the US
  878.  
  879. ---
  880.  
  881. 3.6)          Is there a GNU Smalltalk tutorial?
  882.  
  883. Answer:
  884.     
  885.     Yes. 
  886.  
  887. From: sbb@laplace.Eng.Sun.COM (Steve Byrne)
  888. Date: 28 Feb 1993 03:00:10 GMT
  889. Organization: Sun Microsystems Inc., Mountain View, CA
  890.  
  891.  
  892.     Andy Valencia has very graciously provided an extended
  893. tutorial document describing the Smalltalk language with respect to
  894. GNU Smalltalk.  It covers a wide variety of topics, and provides a
  895. general introduction to object oriented programming concepts.
  896.  
  897.     You may FTP a copy from the usual GNU locations in a few days
  898. (after it has propagated).  Currently, it may be found at:
  899.  
  900.     prep.ai.mit.edu: pub/gnu/smalltalk-tutorial.ps.gz  (PostScript)
  901.  
  902. -or-
  903.  
  904.     prep.ai.mit.edu: pub/gnu/smalltalk-tutorial.txt.gz  (ASCII)
  905.  
  906. Check it out -- this looks really good!
  907.  
  908. Steve
  909.  
  910. -- 
  911.  
  912. 3.7)         What's a summary of multiple inheritance in Smalltalk?
  913.  
  914. Answer:
  915.  
  916. From: mario@cs.man.ac.uk (Mario Wolczko)
  917. Newsgroups: comp.lang.smalltalk
  918. Subject: Re: Multiple Inheritance in Smalltalk??
  919. Date: 20 Apr 93 12:40:27 GMT
  920. Organization: Dept Computer Science, University of Manchester, U.K.
  921.  
  922. In article <1qua3qINN9t1@umbc8.umbc.edu>, cs331106@umbc.edu (cs331106) writes:
  923. >   I have been researching the smalltalk language, and have found
  924. > conflicting reports as to whether or not smalltalk is a single
  925. > or multiple inheritance style language.  Any answer would be
  926. > appreciated!
  927.  
  928. Yes and no, mostly no.  The initial versions of Smalltalk did not have
  929. multiple inheritance.  An MI scheme, written entirely in Smalltalk (ie
  930. not requiring any virtual machine support), was subsequently added.
  931. It is described in
  932. @inproceedings{BorningIngalls82:multipleinheritance,
  933.     author =    "A. H. Borning and D. H. H. Ingalls",
  934.     address =    "Pittsburgh, PA",
  935.     year =        1982,
  936.     booktitle =    "Proceedings of National Conference on
  937.     Artificial Intelligence",
  938.     pages =        "234-237",
  939.     title =        "Multiple inheritance in {S}malltalk-80"
  940. }
  941.  
  942. This was shipped as part of the Smalltalk-80 virtual image, at least
  943. from version 2.0 (the first "public" release, I believe), through 2.3.
  944. It was removed in 2.4 (or possibly 2.5).  There were several
  945. technical problems with the implementation, and it didn't look like
  946. anyone was really using it anyway.  It was never thoroughly integrated
  947. into the system (eg browsers and other tools).
  948.  
  949. Mario Wolczko
  950.    ______      Dept. of Computer Science   Internet:      mario@cs.man.ac.uk
  951.  /~      ~\    The University              uucp:    mcsun!uknet!man.cs!mario
  952. (    __    )   Manchester M13 9PL          JANET:         mario@uk.ac.man.cs
  953.  `-':  :`-'    U.K.                        Tel: +44-61-275 6146  (FAX: 6236)
  954. ____;  ;_____________the mushroom project___________________________________
  955.  
  956.  
  957. ---
  958.  
  959. 3.8)         What's the status of the ANSI Smalltalk
  960.             standardization effort?
  961.  
  962. Answer:
  963.  
  964.     [Here are the minutes from the the first ANSI Smalltalk
  965. meeting. Unless available elsewise, I'll archive future ANSI Smalltalk
  966. materials I come across on XCF.Berkeley.EDU, separately.  --crl]
  967.  
  968. From: DENATALE@CARVM3.VNET.IBM.COM (Rick DeNatale)
  969. Date: Tue, 6 Jul 93 15:17:30 EDT
  970. Newsgroups: comp.lang.smalltalk
  971. Subject: Minutes of X3J20, Smalltalk
  972.  
  973.  
  974. X3J20, Programming Language: Smalltalk held its organizational
  975. meeting at CBEMA headquarters, Washington D.C. on June 21, 1993.
  976.  
  977. 1.0 The meeting was convened at 10:00 a.m. Yen-Ping Shan of IBM
  978. acted as meeting chairman.
  979.  
  980. 2.0 Attending were (listed in alphabetical order by Company):
  981.  
  982.    Aladdin Enterprises
  983.      L. Peter Deutsch    email: lpd@aladdin.com
  984.    Andersen Consulting
  985.      Roy Underwood              runder@apg.andersen.com
  986.      Chris Frye (Alternate)
  987.    Beckman Software Engineering
  988.      Mel Beckman                mbeckman@mbeckman.com
  989.    Digitalk
  990.      Allen Wirfs-Brock          allen@digitalk.com
  991.      George Bosworth (Alternate) george@digitalk.com
  992.    Easel Corporation
  993.      Chris Norman          cnorman@easelcor.mhs.compuserve.com
  994.    International Business Machines Corporation
  995.      Yen-Ping Shan          shan@carvm3.vnet.ibm.com
  996.      Rick DeNatale (Alternate)  denatale@carvm3.vnet.ibm.com
  997.    Knowledge Systems Corporation
  998.      Jay Casler
  999.    Object Technology International
  1000.      Brian Barry              brian@oti.on.ca
  1001.    ParcPlace Systems
  1002.      Glenn Krasner            krasner@parcplace.com
  1003.      Richard Dym (Alternate)
  1004.    Pillar Systems
  1005.      Seyho Chang             seyho@netcom.com
  1006.      Patti Dock (Alternate)  76460.3463@compuserve.com
  1007.    Quasar Knowledge Systems
  1008.      David Simmons           David_Simmons@qks.com
  1009.    Servio Corp.
  1010.      Bruce Schuchardt        bruce@slc.com
  1011.    U.S. Geological Survey
  1012.      Jim Fulton           jfulton@qvarsa.er.usgs.gov
  1013.  
  1014. Bob Follett Chairman of JTC1/SC22 attended the meeting as an
  1015. observer and guide to X3.
  1016.  
  1017. 3.0 Agenda
  1018. Peter Deutsch wished to add a discussion of a proposed language standard
  1019. which was developed in 1987 in addition to the scheduled discussion of
  1020. the Common Base document (X3J20/93-003).  Peter submitted a copy of this
  1021. document which was copied and distributed as document X3J20/93-004.
  1022. Peter then said that there were many issues to deal with in setting
  1023. the goals and scope of a Smalltalk standard including: level of
  1024. formality; relationship to existing/proposed implementations;
  1025. coverage; standardization time-frame; consolidation vs. innovation.
  1026.  
  1027. It was generally agreed to add a discussion of goals before discussion
  1028. of proposals for a base document.
  1029.  
  1030. The resulting agenda is given at the end of these minutes.
  1031.  
  1032. Jay Casler moved to approve the agenda as modified, Dave Simmons
  1033. seconded and it was unanimously agreed.
  1034.  
  1035. 4.0 Kate McMillan then gave an X3 overview.
  1036.  
  1037. 5.0 Review of Project Proposal
  1038.  
  1039. The general discussion turned around what level was appropriate for
  1040. a Smalltalk Standard.  There was a discussion of the various
  1041. potential business and technical goals, which vary for users and
  1042. implementors of the language. Various positions of conservatism
  1043. vs. radicalism are possible with regards to many issues such as
  1044. multiple inheritance, scoping of block arguments or concurrency.
  1045.  
  1046. There is a trade-off between the speed of standardization and
  1047. the scope of the standard.
  1048.  
  1049. It was decided that members would prepare position papers on
  1050. the scope and goals for X3J20 which would cover issues including:
  1051.  
  1052.     Technical and Business goals
  1053.     Project Scope
  1054.     Proposals for detailed work plan
  1055.     Dimensions to be considered, e.g.:
  1056.        Methods/rigor of specification
  1057.        Implementations vs. Language Features
  1058.        Can the Standard be factored into parts,and what are
  1059.          the dependencies.
  1060.  
  1061. This was accepted without objection.
  1062.  
  1063. Mel Beckman volunteered to act as a consolidator and to prepare
  1064. a report on the positions to serve as a focus for discussion at the
  1065. next meeting.
  1066.  
  1067. Bruce Schuchardt, volunteered to set up a mail reflector so that
  1068. everyone will see position papers as they are developed and can
  1069. comment on the positions.  Members are encouraged to develop their
  1070. positions interactively (sort of a delphi process).
  1071.  
  1072. Mel will base his consolidation on positions submitted by
  1073. August 15, 1993.  The consolidation report will be distributed by
  1074. October 5th 1993.
  1075.  
  1076. 6.0 Organizational Matters
  1077.  
  1078. It was agreed that, pending the result of the call for volunteers,
  1079. Yen-Ping Shan would continue as acting chairman. Glenn Krasner
  1080. volunteered as acting vice-chairman, and Rick DeNatale volunteered
  1081. as acting Secretary.
  1082.  
  1083. 7.0 Technical Discussion and Development of Work Plan
  1084.  
  1085. It was unanimously agreed to defer agenda item 7 until the review
  1086. of positions on the goal and scope of X3J20 has been completed.
  1087.  
  1088. 8.0 Meeting Schedule
  1089.  
  1090. The following schedule for future meetings was agreed:
  1091.  
  1092.    October 19-21 Sunnyvale, California, host ParcPlace.
  1093.    February 1994 RTP NC, hosts: IBM and Knowledge Systems
  1094.    June 1994, Portland Or. host Digitalk
  1095.    October 1994, Chicago Ill. host Arthur Anderson
  1096.  
  1097.  
  1098. ParcPlace agreed to make machines available at the next meeting so
  1099. that different Smalltalk implementations can be viewed. Glenn Krasner
  1100. will be the contact for machine requirements.
  1101.  
  1102. 9.0 Review of Action Items
  1103.  
  1104. 10.0 Adjournment
  1105.  
  1106. Peter Deutsch moved to adjourn the meeting. It was passed without
  1107. objection and the meeting adjourned at approximately 4:00 p.m.
  1108.  
  1109. Approved Agenda
  1110.   1. Opening
  1111.   2. Introductions
  1112.   3. Approval of the agenda (X3J20/93-001)
  1113.   4. X3 Overview
  1114.   5. Review of Project Proposal (X3J20/93-0015R)
  1115.        Discussion of Goals and Scope
  1116.   6. Organizational Matters
  1117.   7. Technical Discussion and development of work plan
  1118.      7.1 Proposed 1987 Smalltalk Language Specification (X3J20/93-004)
  1119.      7.2 Common Base Specification (X3J20/93-003)
  1120.      7.3 Time table for milestones
  1121.   8. Future Meetings (schedule and hosts)
  1122.   9. Review of action items
  1123.  10. Adjournment
  1124.  
  1125.  
  1126. Rick DeNatale
  1127.  
  1128. ---
  1129.  
  1130. 3.9)+        Have there been any studies done on performance
  1131.             differences between complete C++/Smalltalk
  1132.             (specifically ObjectWorks\Smalltalk)
  1133.             applications in terms of runtime and space
  1134.             consumption? 
  1135.  
  1136. Answer:
  1137.  
  1138.     See anonymous@xcf.berkeley.edu:misc/smalltalk/performance.
  1139.  
  1140. ---
  1141.  
  1142. 3.10)+        Where can I learn about the history of Smalltalk?
  1143.  
  1144. From: jecel@lsi.usp.br (Jecel Mattos de Assumpcao Jr. (kofuji))
  1145. Newsgroups: comp.lang.smalltalk
  1146. Subject: Re: History of Smalltalk
  1147. Date: 16 Dec 1993 23:31:22 GMT
  1148. Organization: Laboratorio de Sistemas Integraveis - USP - Brazil
  1149. Reply-To: jecel@lsi.usp.br
  1150.  
  1151. [The History of Programming Languages Conferences are] the best place to find out about Smalltalk history. Here is a more specific reference:
  1152. --------------------------------------------------------
  1153. "The Early History of Smalltalk"
  1154. Alan C. Kay
  1155. The Second ACM SIGPLAN History of Programming
  1156.                Languages Conference (HOPL-II)
  1157. ACM SIGPLAN Notices Vol 28 Number 3 March 1993 pp. 69-75
  1158. ---------------------------------------------------------
  1159.  
  1160. [That issue contains preprints from the conference. It is indeed very good. In it, the editors mention that a book from the conference is forthcoming. It may be out; I haven╣t heard.  --crl]
  1161.  
  1162. > > 8) I've never seen the famous article within the Byte (August-1980) --
  1163. > >    it was impossible to get information about this article or even the
  1164. > >    article itself. What was the content of this article? It's christmas
  1165. > >    soon: I *really* would like to get a copy of this article :-)
  1166. > The entire ISSUE was on Smalltalk.  Do you mean to say that none
  1167. > of your CS libraries have August 80 Byte?  Hmm, I'll have to guard
  1168. > mine very carefully.   And I'll see what I can do to brighten your
  1169. > Christmas!
  1170.  
  1171. Actually, the August 80 Byte was about Forth. But the August 1981 Byte
  1172. has been out of print for many years, and is about the only back issue
  1173. you can't get. They should reprint those articles as a book. I've just
  1174. lent mine, so this is from memory:
  1175.  
  1176.  - there are some introductory articles and some on the philosophy of
  1177.    the system and object oriented programming.
  1178.  - there are articles about the graphical programming environment
  1179.    ( first look at cut/copy/paste for most people ), the graphic
  1180.    prmitives ( first look at bitblt ) and drawing programs.
  1181.  - the implementation is explained, as is an older version of
  1182.    virtual memory.
  1183.  - there is an excelent article on creating data structures in
  1184.    Smalltalk, as well as one on creating control structures.
  1185.  
  1186. Jecel
  1187.  
  1188. ---
  1189.  
  1190. 3.11)+        How can I get the Smalltalk Resource Guide?
  1191.  
  1192. Date: Mon, 10 Jan 1994 14:48:58 -0600
  1193. From: johnson@cs.uiuc.edu
  1194. Subject: smalltalk resource guide
  1195.  
  1196. >Has anyone seen a publication 
  1197. >_Smalltalk Resource Guide_ ?
  1198.  
  1199. It is published and distributed by 
  1200.         Creative Digital Solutions
  1201.         293 Corbett Avenue
  1202.         San Francisco, CS 94114
  1203.         415.621.4252 (fax and telephone)
  1204.         72722.3255@compuserve.com
  1205.         cds.sem@applelink.apple.com
  1206.  
  1207. The price is $45, and if you use Smalltalk professionally
  1208. (i.e. if it is worth money to you to know about Smalltalk)
  1209. then you should get it.  I was surprised to see so many
  1210. packages I didn't know about in it.
  1211.  
  1212. As they say about themselves:
  1213.         The Smalltalk Resource Guide is the only Smalltalk-specific
  1214.         directory o Smalltalk products and services.  it includes
  1215.         products, third-party tools, user groups, electronic
  1216.         resources, distributors, publications, trade shows,
  1217.         professional organizations, and more.  It is updated
  1218.         as necessary.
  1219.  
  1220. -Ralph Johnson
  1221.  
  1222. ---
  1223.  
  1224. 4.0)     [Programming issues]
  1225.  
  1226. ---
  1227.  
  1228. 4.1)         What are some "classic Smalltalk bugs", both in the
  1229.             system and programmer domains?
  1230.  
  1231. Answer:
  1232.  
  1233.     See anonymous@st.cs.uiuc.edu:pub/st-docs/classic-bugs, and the
  1234. equivalent place on the Manchester archive (see question 1.2 above for
  1235. details).
  1236.  
  1237. ---
  1238.  
  1239. 4.2)+        How do I use Pool dictionaries?
  1240.  
  1241.     [Following is a │tutorial▓ of sorts about Pool dictionaries. --crl]
  1242.  
  1243. Newsgroups: comp.lang.smalltalk
  1244. From: steinman@hslrswi.hasler.ascom.ch (Jan Steinman, Bytesmiths)
  1245. Organization: Bytesmiths, a technical services company
  1246. Date: Thu, 22 Jul 1993 10:51:14 GMT
  1247.  
  1248.     [Someone] writes:
  1249.  
  1250. >Firstly I just can't seem to figure out how to define "Pool Dictionaries".
  1251.  
  1252. They must exist as a global Dictionary first.
  1253.         (Smalltalk includesKey: #MyNewPool) ifFalse:
  1254.                 [Smalltalk at: #MyNewPool put: Dictionary new]
  1255.  
  1256. Since the individual pool variables are actually stored as Associations
  1257. in the using method's literal array (this is important to remember!),
  1258. using a Dictionary instead of an IdentityDictionary is needed here.
  1259. Note the existance test -- if you simply create a new pool Dictionary
  1260. when one already exists, all the methods that refer to pool variables
  1261. will continue to refer to the old ones. This causes no end of
  1262. confusion!
  1263.  
  1264. Then plop 'MyNewPool' into your class definition.
  1265.  
  1266. >Also my understanding of Pool Variables is that they have to be "constant"
  1267. >objects, i.e. objects which do not change values, and you just want to share
  1268. >them among objects without having to explicitly pass them.
  1269.  
  1270. Not exactly. As I mentioned, the pool Dictionary Association is what is
  1271. held. This means that you can change the value of a Pool Variable at
  1272. will, with any object, as long as you don't replace the Association in
  1273. the global Dictionary.
  1274.  
  1275. One source of problems is to declare a pool
  1276. global as an IdentityDictionary, which doesn't actually store
  1277. Associations; it makes them up on the fly whenever asked for one. In
  1278. this case, each user of a pool variable will have a different copy, and
  1279. changing one will not change the others.
  1280.  
  1281. Another common problem is forward declarations and file-in. Your global
  1282. Dictionary and all the keys you will use *must* be declared prior to
  1283. file-in, or else the filed-in code will refer to Associons in
  1284. Undeclared, rather than in your global Dictionary. It's possible to
  1285. swizzle the Association from Undeclared to the proper pool, but it's
  1286. better to just make sure it exists first.
  1287.  
  1288. >I have an object called "Blackbaord", and I want other objects in my system to have
  1289. >access to its current state. These objects not only acess the Blackboard but
  1290. >also send messages to update the blackboard.
  1291.  
  1292. This sounds like a simple global to me. Two reasons why you might
  1293. prefer pools:
  1294.  
  1295. 1) you want to limit their scope to a defined set of unrelated classes
  1296. (and their subclasses), or
  1297.  
  1298. 2) you have more than one object to share, and you don't want to
  1299. clutter the global name space.
  1300.  
  1301. Pool variables provide an efficient solution to a whole class of
  1302. problems, but they are little understood, and poorly supported. The
  1303. compiler could do a lot of the monkey-business that programmers
  1304. presently have to manage when they use pool variables.
  1305.  
  1306.  Jan Steinman, Bytesmiths
  1307.  2002 Parkside Court, West Linn, OR 97068-2767 USA, +1 503 657 7703
  1308.  Friedlistrasse 19, CH-3006, Bern, Switzerland, +41 31 999 3946
  1309.  
  1310. ---
  1311.  
  1312. 4.3)+        When browsing sources, I see │t1▓, │t2▓, etc., instead of semantically 
  1313.             relevant variable names. What╣s going on?
  1314.  
  1315. From: Arno Breunese <bne%RT.EL.UTWENTE.NL@ibm.gwdg.de>
  1316.  
  1317. On Oct 4th, [someone] said:
  1318.  
  1319. > Before using VW-1.0a/OW-4.1 on Solaris, I tried an old version of OW (2.5) on
  1320. > Mac. One thing I did REALLY appreciate was the self documenting environment.
  1321. > Indeed almost each class and method from the standard ST environment was
  1322. > commented and all formal arguments had clear names. Also, the explain
  1323. > command was very helpful. On Sun, I had the nasty surprise to see that formal
  1324. > parameters are now all named t1, t2, t3, ... and that there are no more comments. 
  1325. > This is very bad news!! So my question is: did I miss some crucial point when
  1326. > installing VW/OW or is it just a new product policy from ParcPlace? I would be
  1327. > very interested to hear from other people having the same problem and from
  1328. > someone working at PP.
  1329.  
  1330. I'm sorry to say, but it's your own fault. And you are not alone in making this
  1331. mistake (see previous postings to this newsgroup). What happens is this:
  1332.  
  1333.  In ParcPlace Smalltalk (OW/VW), the source of all code in the image is
  1334. kept in two files: the sources file (containing the code of the basic
  1335. classes provided with the installation) and the changes file (with all
  1336. the changes and additions you made to the originally installed
  1337. sources).
  1338. When you are browsing code, the System Browser (or anything else you
  1339. use to browse) looks in the global variable SourceFiles to find the
  1340. sources and changes files. If these are present, you will see the code
  1341. as it was originally entered, with nice argument names, with comments
  1342. etc.
  1343. If the entries in SourceFiles refer to non-existent files, or if they
  1344. are nil, then the code is reconstructed from the bytecode. Obviously,
  1345. no names and no comments can be reconstructed. That's were the t1, t2,
  1346. ... come from.
  1347.  
  1348. What you should do is open a System Workspace (which contains hints to
  1349. change the SourceFiles global) or open an Inspector on SourceFiles
  1350. rightaway. Then make sure that these variables point to existing files.
  1351. You have to take care that the set of sources file, changes file and
  1352. image file are belonging together. Using a changes file from a
  1353. different project leads to _really_strange_ effects!
  1354.   
  1355. Arno Breunese,
  1356. Control Laboratory,
  1357. Department of Electrical Engineering,
  1358. University of Twente,
  1359. PO Box 217,
  1360. 7500 AE  Enschede,
  1361. The Netherlands
  1362.  
  1363. e-mail  bne@rt.el.utwente.nl
  1364.  
  1365. ---
  1366.  
  1367. 4.4)+        What happened to >>deepCopy in ParcPlace Smalltalk?
  1368.  
  1369. Newsgroups: comp.lang.smalltalk
  1370. From: eanv20@castle.ed.ac.uk (John Woods)
  1371. Subject: Re: deepCopy in St80 4.1
  1372. Organization: Edinburgh University
  1373. Date: Fri, 3 Dec 1993 10:55:31 GMT
  1374.  
  1375. piplani@rainbow.ecn.purdue.edu (Rajesh Piplani) writes:
  1376.  
  1377. >To all the smalltalk-80 gurus out there:
  1378. >I need to make deep copy of an object. The book on smalltalk-80
  1379. >(The language) talks about the existence of this method
  1380. >(deepCopy), but my installation on unix (release 4.1) does not
  1381. >have it. Could somebody help me out? I basically need to copy an
  1382. >object with its own instance variables.
  1383. >Raj
  1384.  
  1385. deepCopy was removed from 4.1 because of problems (cyclic dependencies and 
  1386. other things broke it). You can file it in from the backward compatability files 
  1387. in the distribution.  Or you can implement your own method --- a couple of
  1388. good-looking ones have been posted here recently.  Check the archives.
  1389.  
  1390.                                 ... John Woods
  1391.  
  1392. **
  1393.  
  1394. Newsgroups: comp.lang.smalltalk
  1395. From: dcr0@speedy.gte.com (Dave Robbins)
  1396. Subject: Re: deepCopy in St80 4.1
  1397. Reply-To: drobbins@gte.com
  1398. Organization: GTE Laboratories Incorporated
  1399. Date: Fri, 3 Dec 1993 21:01:52 GMT
  1400.  
  1401.  
  1402. I would suggest implementing a postCopy method in the class whose instance
  1403. variables need to be copied.  Object>shallowCopy invokes postCopy after
  1404. completing the basic copying; code in postCopy can then make copies of the
  1405. instance variables:
  1406.  
  1407.    postCopy
  1408.       super postCopy.
  1409.       instanceVariable1 := instanceVariable1 copy.
  1410.       instanceVariable2 := instanceVariable2 copy
  1411.  
  1412. and so on.  Browse all implementers of postCopy to see examples of how this
  1413. is done in quite a few classes in the 4.1 image.
  1414.  
  1415. The 4.1 Release Notes explain (pages 13 and 34) that deepCopy was removed,
  1416. and why.  In particular, note on page 34 the statement that deepCopy won't
  1417. even be available as backward-compatibility code in the successor to 4.1.
  1418.  
  1419. Dave Robbins                    GTE Laboratories Incorporated
  1420. drobbins@gte.com                40 Sylvan Rd.
  1421. ...!harvard!bunny!drobbins      Waltham, MA 02254
  1422.  
  1423. ---
  1424.  
  1425. 5.0)     ["Vendor"-specific issues]
  1426.  
  1427. ---
  1428.  
  1429. 5.1)         How compatible is GNU Smalltalk with Smalltalk-80 (or
  1430.             SmalltalkV)?
  1431.  
  1432. From: sbb@laplace.eng.sun.com (Steve Byrne)
  1433. Newsgroups: comp.lang.smalltalk
  1434. Subject: Re: GNU Smalltalk Compatibility
  1435. Date: 12 Dec 92 00:52:04
  1436. Organization: FSF hackers, Smalltalk division
  1437.  
  1438. In article <1992Dec2.182201.11980@ntmtv> irvine@ntmtv.UUCP (Chuck
  1439. Irvine) writes:
  1440.  
  1441.    How compatible is GNU Smalltalk with Smalltalk-80 (or SmalltalkV)?
  1442.    Just curious. Thanks
  1443.  
  1444.     This is probably in the FAQ list [it is now...  --crl], but
  1445. here goes anyway.  GNU Smalltalk tries to be syntax compatible with
  1446. the language described in the blue/purple book (ST-80: the Language*).
  1447. I think the only discrepancy is that GNU Smalltalk doesn't allow block
  1448. local temporary variables.
  1449.  
  1450. Steve
  1451.  
  1452.     [Note, however, that the class library for GNU Smalltalk is
  1453. very much in its infancy. Most importantly, it has little in the way
  1454. of graphical user-interface classes.  --crl]
  1455.  
  1456. ---
  1457.  
  1458. 5.2)*        How do I contact producers of various Smalltalk
  1459.             implementations? 
  1460.  
  1461. Answer:
  1462.  
  1463. Newsgroups: comp.lang.smalltalk
  1464. From: mjb@netcom.com (Martin Brown)
  1465. Subject: FYI: new Digitalk addresses
  1466. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1467. Date: Tue, 21 Sep 1993 09:10:44 GMT
  1468.  
  1469.     Digitalk:     
  1470.  
  1471. Effective Monday, September 20, all Digitalk departments EXCEPT development,
  1472. support and documentation have moved to brand-new, shining corporate offices
  1473. in Orange County, CA.  The new address and phone:
  1474.  
  1475.   Digitalk, Inc.
  1476.   5 Hutton Center
  1477.   Santa Ana, CA   92707-5754
  1478.   714-513-3000 (phone)
  1479.   714-513-3100 (fax)
  1480.  
  1481. Digitalk also has offices in Portland, Chicago and New York.  The numbers are:
  1482.  
  1483.   Digitalk Portland (training, consulting)
  1484.   503-691-0800 (phone)
  1485.   503-691-2742 (fax)
  1486.  
  1487.   Digitalk Chicago (sales)
  1488.   312-444-2065 (phone)
  1489.   312-641-3096 (fax)
  1490.  
  1491.   Digitalk New York (sales)
  1492.   212-808-3068 (phone)
  1493.   212-808-3020 (fax)
  1494.  
  1495. [message ends]
  1496.  
  1497.     ParcPlace:    
  1498.  
  1499.     ParcPlace information may be reached at info@parcplace.com. 
  1500.  
  1501.     [feel free to contribute additional info  --crl]
  1502.  
  1503. ---
  1504.  
  1505. 5.3)+        How can I get information about HP distributed Smalltalk?
  1506.  
  1507. Newsgroups: comp.lang.smalltalk
  1508. From: blank@faw.uni-ulm.de (Karlheinz Blank)
  1509. Organization: FAW (Research Institute For Applied Knowledge Processing, Ulm, Germany)
  1510. Date: Wed, 25 Aug 1993 07:10:34 GMT
  1511.  
  1512. You can get information about HP-Distributed Smalltalk From:
  1513.  
  1514. Public Relations Department
  1515. 3000 Hanover Street
  1516. Palo Alto, California 94304
  1517. (408) 447-5330
  1518.  
  1519. Karlheinz Blank, Research Institute for Applied Knowledge Processing
  1520. Internet: BLANK@faw.uni-ulm.de
  1521.  
  1522. ---
  1523.  
  1524. 6.0)     [Smalltalk implementation issues]
  1525.  
  1526. ---
  1527.  
  1528. 6.1)         Is Smalltalk interpreted or compiled?
  1529.  
  1530.     [Be prepared for more material on this issue. I've got tons of
  1531. it, staring at me at this very moment. I'm starting off with this one
  1532. mainly because it's short... again, please feel free to submit. In
  1533. particular, the whole issue of just what constitutes "interpreting" is
  1534. still debated.  --crl]
  1535.  
  1536. From: khaw@parcplace.com
  1537. Newsgroups: comp.lang.smalltalk
  1538. Subject: Re: Smalltalk on PC/Compiling
  1539. Date: 12 Jun 93 17:55:40 GMT
  1540. Organization: ParcPlace Systems, Inc.
  1541.  
  1542.     [a poster who requests anonymity] writes:
  1543.  
  1544. ...
  1545. >>4 - Is there a SmallTalk compiler available for Dos?
  1546. >    Not as such... Smalltalk is a P-Machine
  1547. ...
  1548. >>6 - Is there such a thing as a SmallTalk compiler?
  1549. >> 
  1550. >    As I said above, it's a P-Machine, not exactly a compiler.
  1551. ...
  1552.  
  1553.  
  1554. The term "P-machine" implies that Smalltalk implementations interpret
  1555. pseudo-code. In the first place, interpretation/compilation is not
  1556. a language feature but rather an implementation choice. In the second
  1557. place, ParcPlace Smalltalk does not interpret bytecode.
  1558.  
  1559. What happens as a result of a message send in ParcPlace Smalltalk is:
  1560.  
  1561.     - first the system checks to see if the method has
  1562.       already been translated to machine code that has
  1563.       been cached in memory
  1564.     - if the native machine code form is in the cache,
  1565.       the system executes that machine code
  1566.     - if the cache doesn't contain a translated form of
  1567.       the method, the system dynamically compiles the method's
  1568.       bytecode into native machine code, storing into the
  1569.       cache, and then executes the code from the cache.
  1570.  
  1571. Dynamic translation yields the benefits of the execution speed of
  1572. compiled code and the space compactness of bytecode. If all the code
  1573. in a running Smalltalk image were kept purely in the form of compiled
  1574. machine code, the image would consume 5-10 times as much memory, and
  1575. therefore could in fact degrade performance on a virtual memory system
  1576. by causing increased paging.
  1577. --
  1578. Michael Khaw    khaw@parcplace.com (or khaw%parcplace.com@netcom.com)
  1579. ParcPlace Systems, Sunnyvale, CA    PRODUCT INFO: info@parcplace.com
  1580.  
  1581. ---
  1582.  
  1583. End of Smalltalk FAQ
  1584.  
  1585. -- 
  1586. -----------------------------------------------------------------------------
  1587. Craig R. Latta          |  Experimental Computing Facility, UC Berkeley (XCF)
  1588. Composer and            |  Atari Games Audio Group         <Latta@AGames.COM>
  1589.     Computer Scientist  |  The NetJam Project            <NetJam-request@XCF>
  1590. Craig.Latta@NetJam.ORG  |  The Smallmusic Project    <Smallmusic-request@XCF>
  1591. (standard  disclaimer)  |  Biggles' Home for the Oversubscribed (wanna join?)
  1592. -----------------------------------------------------------------------------
  1593.